prepare(voirRequete($BD,$action)); $reponse -> execute($parametres); if (!$reponse) { echo "Erreur 1:".$BD->errorInfo(); exit(); } $donnees = $reponse->fetch(PDO::FETCH_ASSOC); $formulaire = "\n".lireModele($BD,$action); while (strpos($formulaire, '[')) { // Séparer ce qui vient avant et après le premier champ à remplacer $debut = substr($formulaire, 0,strpos($formulaire, '[')); $formulaire = substr($formulaire, strpos($formulaire, '[') + 1); $fin = substr($formulaire,strpos($formulaire, ']') + 1); $formulaire = substr($formulaire, 0,strpos($formulaire, ']')); // Définir la sorte de champ à remplacer $sorte = "t"; if (substr($formulaire,0,1) == "-") { $sorte = substr($formulaire,1,1); $formulaire = substr($formulaire,2); } $champ = explode(':',$formulaire); $formulaire = ""; // Mettre l'information d'un utilisateur identifié switch ($sorte) { case 'd': for ($i=1;$i".$partie[1].""; } break; // Case texte facultative (non validée) case 'f': $formulaire = ""; break; // Case caché case 'h': $formulaire = ""; break; case 'l': $formulaire .= ""; break; // Case texte case 't': $formulaire = ""; break; } $formulaire = $debut.$formulaire.$fin; } return $formulaire; } /************************************************ * Fonction qui affiche une information de la * * base de données. * *************************************************/ function afficheInfo($BD,$table,$champ,$id) { $reponse = ""; $sql = "SELECT ".$champ." FROM ".$table." "; $sql .= "WHERE id".$table."=".$id.";"; $req = $BD -> prepare($sql); $req -> execute(); while ($donnees = $req->fetch()) { $reponse = $donnees[0]; } return $reponse; } /************************************************ * Fonction qui affiche le résultat d'une * * requete selon le modele. * * 5 janvier 2021 - MH * ************************************************* * $norequete : Numéro de la reqûete à afficher * *************************************************/ function afficherListe($BD,$norequete,$critere) { $donnees = lireRequete($BD,$norequete,$critere); $modele = lireModele($BD,$norequete); $resultat = ""; foreach ($donnees as $enregistrement) { $laligne = $modele; //Affiche les champs d'après les paramètres foreach($enregistrement as $titre => $champs) { $laligne = str_replace("_".$titre."_",$champs,$laligne); } $resultat .= "".$laligne."\n"; } return "\n".$resultat."
\n"; } /************************************************ * Fonction qui affiche le résultat d'une * * requete selon le modele. * * 5 janvier 2021 - MH * ************************************************* * $norequete : Numéro de la reqûete à afficher * *************************************************/ function afficherRequete($BD,$norequete,$critere,$separateur="") { $requete = $BD->prepare("SET @numero_ligne = 0;"); $requete -> execute(); $donnees = lireRequete($BD,$norequete,$critere); $modele = lireModele($BD,$norequete); $resultat = ""; foreach ($donnees as $enregistrement) { $lafiche = $modele; //Affiche les champs d'après les paramètres foreach($enregistrement as $titre => $champs) { $lafiche = str_replace("_".$titre."_",$champs,$lafiche); } $resultat .= $lafiche.$separateur; } return $resultat; } /************************************************ * Fonction qui affiche le résultat d'un calcul * * à partir d'une requête. * *************************************************/ function afficheSQL($requeteAffiche) { $laBD = connexionBD(); $reponse = ""; $reqAff = $laBD -> prepare($requeteAffiche); $reqAff -> execute(); while ($donneesAffiche = $reqAff -> fetch()) { $reponse = $donneesAffiche[0]; } return $reponse; } /************************************************ * Fonction qui authentifie l'utilisateur pour * * la session active. * * 20 mai 2020 - MH * ************************************************* * $niveau : Niveau de sécurité requis pour la * * page actuelle * *************************************************/ function authentification($niveau) { // Si le niveau de sécurité n'est pas suffisant, // on redirige vers la page d'authentification if (!isset($_SESSION['securite']) || ($_SESSION['securite'] < $niveau)) { header( "Location: login.php" ); } } /************************************************ * Fonction qui insère un champ de formulaire. * * $nom : Nom du champ * * $valeur : Nom du champ * * $tpchamp : Sorte de champ * * $longueur : Longueur * ************************************************/ function champForm($nom,$valeur,$tpchamp='text',$longueur='30') { echo ""; } /************************************************ * Fonction qui retourne un objet database. * * 17 avril 2020 - MH * ************************************************/ function connexionBD() { // Ouverture de la base de données try { $objBD = new PDO('mysql:host=localhost;dbname=aqifgac_inscrit;charset=utf8', 'aqifgac_inscrit', '1nscription'); } catch (PDOException $e) { echo 'Connexion échouée : ' . $e->getMessage(); exit(); } return $objBD; } /************************************************ * Fonction qui retourne le numéro de * * l`événement en cours. * * 23 juin 2020 - MH * ************************************************* * $BD : Connexion active à la base de * * données * ************************************************/ function evenementEnCours($BD) { // Lecture des informations de l'utilisateur $sqlevenement = "SELECT MAX(idevenement) "; $sqlevenement .= "FROM evenement "; $sqlevenement .= "WHERE actif;"; $rqevenement = $BD->query($sqlevenement); // Si l'utilisateur existe if ($rqevenement->rowCount() > 0) { $donnees = $rqevenement->fetch(); return $donnees[0]; } else { return 0; } } /************************************************ * Fonction qui lit un modèle d'affichage. * * --------------------------------------- * * $BD : Connexion à la base de données * * $action : Code de la requête * ************************************************/ function lireModele($BD,$action) { $reponse = $BD -> prepare("SELECT affichage FROM adminFGA_menu WHERE action LIKE \"".$action."\";"); $reponse -> execute(); if (!$reponse) { echo "Erreur 1:".$BD->errorInfo(); exit(); } $resultat = $reponse->fetch(); return $resultat['affichage']; } /************************************************ * Fonction qui lit une requête. * * ----------------------------- * * $BD : Connexion à la base de données * * $action : Code de la requête * ************************************************/ function lireRequete($BD,$action,$critere) { $reponse = $BD -> prepare("SELECT requete FROM adminFGA_menu WHERE action LIKE \"".$action."\";"); $reponse -> execute(); if (!$reponse) { echo "Erreur 1:".$BD->errorInfo(); exit(); } $resultat = $reponse->fetch(); $sql = $resultat["requete"]; foreach ($critere as $champ => $valeur) { $sql = str_replace('_'.$champ.'_',$valeur,$sql); } $reponse = $BD -> prepare($sql); $reponse -> execute(); if (!$reponse) { echo "Erreur 1:".$BD->errorInfo(); exit(); } $resultat = $reponse->fetchAll(PDO::FETCH_ASSOC); return $resultat; } /************************************************ * Fonction qui crée un menu déroulant. * * ------------------------------------ * * $requete : Requête SQL * * $champ : Nom du champ (objet SELECT) * * $valeur : Valeur par défaut * * *********************************************/ function menuDeroulant($BD,$requete,$champ,$valeur='0') { $reponse = $BD -> prepare($requete); $reponse -> execute(); if (!$reponse) { echo "Erreur 1:".$BD->errorInfo(); exit(); } $resultat = "